package com.apps.java.javanote;

public class _5方法 {
    public static void main(String[] args) {
        /**
         * 一、方法概述
         * 		什么是方法：方法(method)是将具有独立功能的代码块组织成为一个整体，
         * 				  使其具有特殊功能的代码集
         * 		注意：
         * 			1.方法必须先创建才可以使用，该过程称为方法定义
         * 			2.方法创建后并不是直接运行的，需要手动使用后才执行，该过程称为方法调用
         *
         * 二、无参方法
         * 		定义格式：
         * 			public static void 方法名(){
         * 				方法体
         * 			}
         * 		调用格式：
         * 			方法名();
         *
         * 三、带参方法
         * 		定义格式：
         * 			public static void 方法名(参数){...}
         * 			单个参数：
         * 			public static void 方法名(数据类型 变量名){...}
         * 			多个参数：
         * 			public static void 方法名(数据类型 变量名1,数据类型 变量名2,...){...}
         * 		注意：
         * 			1.方法定义时，参数中数据类型与变量名都不能缺少，缺少任意一个程序将报错
         * 			2.方法定义时，多个参数之间使用逗号(,)分隔
         * 		调用格式：
         * 			方法名(参数);
         * 			单个参数：方法名(变量名/变量值)；
         * 			多个参数：方法名(变量名1/变量值,变量名/变量值,...);
         * 		注意：
         * 			方法调用时，参数的数量与类型必须与方法定义中的设置相匹配，否则程序将报错
         * 		形参和实参：
         * 			形参：方法定义中的参数
         * 			实参：方法调用中的参数
         *
         * 四、带返回值方法
         * 		定义格式：
         * 			public static 数据类型   方法名(参数){
         * 				return 数据;
         * 			}
         * 		注意：
         * 			方法定义时return后面的返回值与方法定义上的数据类型要匹配，否则程序将报错
         * 		调用格式：
         * 			1.方法名(参数); ---> isNumber(5);
         * 			2.数据类型 变量名 = 方法名(参数);[常用] ---> boolean is = isNumber(5);
         * 		注意：
         * 			方法的返回值通常会使用变量接收，否则该返回值将无意义
         *
         * 五、方法注意事项
         * 		1.方法不能嵌套定义
         * 		2.void表示无返回值，可以省略return，也可以单独书写return，后面不加数据
         *
         * 		通用格式：
         * 			public static 返回值类型 方法名(参数){
         * 				方法体;
         * 				return 数据;
         * 			}
         * 			public static	[这是一个修饰符]
         * 			返回值类型			[方法操作完毕之后返回的数据的数据类型
         * 							  如果方法操作完毕，没有数据返回，这里写void，而且方法体中一般不写return]
         * 			方法名			[调用方法时使用的标识]
         * 			参数				[由数据类型和变量名组成，多个参数之间用逗号隔开]
         * 			方法体			[完成功能的代码块]
         * 			return			[如果方法操作完毕，有数据返回，用于把数据返回给调用者]
         *
         * 		定义方法时：
         * 			1.明确返回值类型：	主要是明确方法操作完毕之后是否有数据返回，如果没有，写void；如果有，写对应的数据类型
         * 			2.明确参数：		主要是明确参数的类型和数量
         * 		调用方法时：
         * 			1.void类型的方法：	直接调用即可
         * 			2.非void类型的方法：推荐用变量接收调用
         *
         * 七、方法的参数传递
         * 		基本类型：
         * 			对于基本数据类型的参数，形式参数的改变，不影响实际参数的值。
         * 		引用类型：
         * 			对于引用类型的参数，形式参数的改变，影响实际参数的值。
         *
         *
         *
         *
         *
         *
         *
         *
         *
         *
         */



			/*调用方法
				isMax();
			*/

			/*调用带返回值方法
				boolean snum = isEvenNumber(29);
				System.out.println(snum);
			*/

			/*调用change()方法判断num是否发生改变
			int num = 100;
			System.out.println(num);
			change(num);
			System.out.println(num);
			}
			*/

			/*引用类型：
			int[] num = {10,20,30};
			System.out.println(num[1]);
			change(num);
			System.out.println(num[1]);
			*/
    }

			/*
			//定义一个无参方法,判断最大值
			public static void isMax(){

				int[] arr = {8989,556,1251,321,4855};

				int max = arr[0];

				for(int i =0 ;i < arr.length;i++){
					max = max>arr[i]?max:arr[i];
				}
				System.out.println(max);

			}
			*/

			/*带返回值方法：
			public static boolean isEvenNumber(int num){

				boolean isnum;

				isnum = num%2==0?true:false;

				return isnum;
			}
			*/


    /*方法参数的传递：基本类型
    public static void change(int num){
        num = 200;
    }
     */
    public static void change(int[] num){
        num[1] = 200;
    }
}
